Method and Apparatus for Web Based Storage on Demand

ABSTRACT

The distributed virtual SAN infrastructure provides a plurality of host systems with a scalable dynamically expandable distributed virtual storage pool, which includes a virtual storage automatic construct protocol. The distributed virtual SAN infrastructure includes one or more IP SAN units, the management console, the distributing control management station and the network infrastructure, wherein the network infrastructure provides the communication links between all systems in this distributed virtual SAN.

CROSS-REFERENCE TO RELATED APPLICATION(S)

The present application is a divisional patent application based on U.S.patent application Ser. No. 10/713,905, filed on Aug. 12, 2002.

FIELD OF THE INVENTION

The present invention generally relates to computer communicationsnetwork. More specifically, the present invention relates to web baseddata storage systems.

BACKGROUND OF THE INVENTION

Today's corporate IT professionals typically face many challenges tohandle the ever increasing information and data. To handle large amountof data, many organizations expand their storage capacity by employingmanage storage systems locally in order to maintaining their normalbusiness operating. A conventional approach is to use IP based networkattached storage (“NAS”), which effectively provides data storage andservices for end users. Moreover, at the enterprise level, the majoritystorage systems are directly attached or connected to server(s) orhost(s) as shown in FIG. 7. These server(s) and/or host(s) are typicallyused as raw block data devices through conventional communicationconnection media, such as traditional IDE, SCSI, Fibre Channel, orEthernet.

The server, which is directly attached to a storage system asillustrated in FIG. 7 typically has many drawbacks, which are describedas following:

a typical conventional storage management system is only capable ofhandling 4 TB (terabytes) of data, which is usually not good enough fora typical enterprise storage management system;

The most of servers, which are directly attached to storage systems,have problems for further expanding their storage capacity. For example,it may require to purchase new servers in order to increase storagecapacity;

The storage being attached to a server can only be accessed by theattached server and can not be shared by other servers even if server'sstorage availability is not evenly distributed across all servers withina organization;

Each attached storage system has to be managed separately and this is anightmare for IT professionals;

With the attached storage system, the backup/restore has to go throughthe data network, this will tax or reduce the network performance;

A typical SCSI connection only allows a 12-meter distance for dataaccessing with 15 storage devices. Similarly, Fibre Channel is limitedto 10 kilometers communication distance. Distance limitation effectivelyprevents them from being the best choice for disaster recovery of thestorage system; and

The Fibre Channel based storage system cannot handle well for theinteroperability. Also, Fibre Channel based storage system is expensiveto build and to maintain.

FIG. 8 shows a conventional type of virtual SAN, which is in-bandcontrolled and accessed with which the data path from hosts (1 of FIG.8) to the SAN units (4 of FIG. 8) going through virtual SAN controlmanagement station (2 of FIG. 8). It is not efficient in term ofaccessing the data by the hosts because the virtual SAN controlmanagement station can easily be a performance bottleneck. Similarly,the scalability of this type of virtual SAN is poor.

SUMMARY

With rapid development of high speed communication technology, theproblems mentioned above can be solved by an IP based out-band accesseddistributed virtual SAN infrastructure (FIG. 1) of this invention. Withthis invention, each host (1 of FIG. 1) can directly access IP based SANunits (4 of FIG. 1) without going through control management station (3of FIG. 1). The IP based out-band accessed distributed virtual SANinfrastructure (FIG. 1) actually represents an example of centralcontrolled distributed scalable virtual machine system (CCDSVM) (FIG.9). Wherein, each system units actually is a SAN unit (4 of FIG. 1),specifically is an IP based SAN unit.

With this invention, each SAN unit (4 of FIG. 1) can be accessed by oneor more hosts (1 of FIG. 1) and each host can access one or more SANunits (FIG. 6). In addition, the storage accessing goes directly throughcommunication link (2 of FIG. 1) between hosts (I of FIG. 1) and SANunits (4 of FIG. 1) without involvement of the control managementstation (3 of FIG. 1). Further, the SAN units (4 of FIG. 1) can bedynamically added without interrupting normal data accessing from hosts(1 of FIG. 1) and are controlled, monitored, and managed by a controlmanagement station (3 of FIG. 1) through a management console (10 ofFIG. 1). The control management station (3 of FIG. 1) may also acceptstorage volume/partition requests from each host (1 of FIG. 1), andassign the matched volumes/partitions of SAN units (4 of FIG. 1) tothese hosts. Therefore, each host (1 of FIG. 1) could directly accessthe right volumes/partitions of assigned SAN units without going throughthe control management station again.

This invention will become understood with reference to the followingdescription, claims, and accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be understood more fully from the detaileddescription given below and from the accompanying drawings of variousembodiments of the invention, which, however, should not be taken tolimit the invention to the specific embodiments, but are for explanationand understanding only.

FIG. 1 illustrates a distributed virtual storage area of network (“SAN”)infrastructure in accordance with one embodiment of the presentinvention;

FIG. 2 illustrates actual Components of Distributed Virtual SAN inaccordance with one embodiment of the present invention;

FIG. 3 illustrates Virtual SAN Automatic Configuration Protocol inaccordance with one embodiment of the present invention;

FIG. 4 illustrates a Virtual SAN Auto Configuration Protocol Packetformat in accordance with one embodiment of the present invention;

FIG. 5 illustrates an Example of Storage Volume Information of an IP SANUnit in accordance with one embodiment of the present invention;

FIG. 6 illustrates a hypothetical example of Storage Volume Requests andAssignment in accordance with one embodiment of the present invention;

FIG. 7 is a conventional Direct Attached Storage System;

FIG. 8 is an I-Bound Accessed Virtual Storage System;

FIG. 9 illustrates a Simplified Diagram of Central ControlledDistributed Scalable Virtual Machine System in accordance with oneembodiment of the present invention; and

FIG. 10 illustrates a Simplified Diagram of Disaster Recovery Scheme ofDistributed Virtual SAN Infrastructure in accordance with one embodimentof the present invention.

DETAILED DESCRIPTION

The following terms are used through out this patent application todescribe the present invention. A central controlled distributedscalable virtual machine (“CCDSVM”) system allows a control managementstation to control a group of systems and to provide distributedservices to client systems over the Intranet, Internet, and/or LANenvironment. Storage media includes magnetic hard disk drives, solidstate disk, optical storage drive, and memory card etc. Storageconnection and control media may include controller of IDE, SCSI, Fibreoptical, Ethernet, USB, or wireless media, and/or other related cablesetc. Each controller of storage media such as Raid, IDE, or SCSIcontroller may control multiple storage media drivers on a system.Storage system includes one or more storage media devices, storageconnections, and/or storage media controllers. Storage system alsocontains related software modules for delivering storage services.

Storage area network (“SAN”) is a storage system that is capable ofproviding block data services to various computer hosts through storageconnection media, such as Fibre-optical cable, Ethernet cable orInternet Protocol (“IP”) based connection media protocol or non-IP basedconnection media protocol. The non-IP based connection media protocol,in one example, includes Fibre-Channel. IP SAN uses IP based protocol toprovide storage raw block data services. All discussions of SAN in thisinvention are within the scope of a model of central controlleddistributed scalable virtual machine (“CCDSVM”).

DNS stands for domain name server of network technology. DNS is anInternet software infrastructure and is capable of identifying networkaddresses for its peer systems. For example, the network addresses maybe used to communicate with the peer systems. A Simple NetworkManagement Protocol (“SNMP”) is a standard Internet protocol. A SNMPtrap is a user datagram protocol (“UDP”) packet, which may be used tosend the SNMP daemon on a SNMP agent system to a SNMP network managementstation via network links.

FIG. 1 shows an example of a simplified block diagram of IP basedout-band accessed distributed virtual SAN infrastructure. Thedistributed virtual SAN infrastructure includes multiple hosts (1),network infrastructures (2), a control management station (3), virtualstorage pool (11) having multiple IP SAN units, and a management console(10). In one embodiment, each host (1) contains service software modules9. The service software modules (9) are configured to communicate with acontrol management software module (7) of a control management station(3) for storing information on a specific IP SAN unit (4). It alsocommunicates with service software modules (6) of IP SAN unit (4) toretrieve a block of data from SAN units (4). The service softwaremodules (9) can be coded or implemented with any suitable programminglanguages such as C, C++, Java or others. The service software modules(9) may also use any suitable protocols such as IP based or non-IP basedprotocols.

The host (1), in one embodiment, could be a server, a desktop, a laptopPC, etc., which needs to access a block data storage. The spare host(12) represents a part of recovery scheme that could be implemented in aCCDSVM environment.

Network infrastructure (2) can be any kind of communication links, whichcould be a department LAN, a corporate intranet, an Internetinfrastructure or others. In one embodiment, network infrastructure (2)includes switches, routers, gateways, cables (Ethernet, optical Fibre),wireless communication media, or others. The network infrastructure (2)provides data path between hosts (1), distribute control managementstation (3), and SAN Units (4). The network infrastructure (2) alsoincludes software infrastructure such as DNS or DHCP for facilitatingsystems on the net to identifying target addresses, which are used forsending or receiving data within a network domain or in a cross-domainnetwork environment.

It should be noted that DNS and/or other Internet address identificationmechanism may be used when a message or data stream is sent from asystem A to a system. In addition, the message is sent from sourcesystem A to target system B via communication link of this networkinfrastructure.

Control management station (3) includes distributing control managementsoftware modules (7) and console support software modules (8). Tosupport web-based console, it requires the web server software (15). Thedistribute control management software modules (7) communicate withservice modules (6) of IP SAN units (4) to retrieve storage informationfor constructing a virtual SAN storage pool (11). The communicationbetween distributed control management software modules (7) and servicemodules (6) of IP SAN units (4) is further configured to monitor IP SANunit, and to perform various system operations, which include storageconfiguration and partitioning etc. The control management softwaremodules (7) also communicates with service software modules (9) of host(I) for distributing storage volumes to each hosts (1). The distributecontrol management software modules (7) can be implemented with anysuitable programming languages such as C, C++, Java, XML, etc. Thecommunication protocols between control management station (3) and IPSAN units (4) could be any suitable IP based protocols. Thecommunication between control management station (3) and hosts (1) canbe any suitable IP base or non-IP based protocols.

The console support software modules (8) employ inter-processcommunication mechanism to obtain information relating to IP SAN units(4) from the distributed control management software modules (7). Theconsole support software modules (8) further provide information to webserver software (15) through the inter-process communication mechanism.The console support software modules (8) can be implemented with anysuitable programming languages such as C, C++, Java, XML, etc.

The web server software (15) communicates with management consolesoftware (10) on console host (14) through web protocol such as HTTP.The web server software (15) is configured to provide a centralizedstorage management capability within the entire distributed virtual SANinfrastructure for any end user over a network. The web server software(15) could be commercially available software or other proprietarysoftware.

To simplify foregoing discussion, the communication path mentioned abovewill be simply referred to as console support software modules (8),which communicate (send/receive) with management console (10) on consolehost (14) (without further mentioning the role and function of webserver software (15) on control management station).

In addition, to support non-web based console, web server software (15)on control management station (3) is often not required. In this case,the console support software modules (8) could communicate withmanagement console software (10) with a suitable protocol other than aweb protocol such as HTTP.

The virtual storage pool (11) includes multiple IP SAN units (4),wherein each IP SAN unit further includes service modules (6). The IPSAN units (4) further contain storage media, storage communications andcontrol media. The storage hardware media of each IP SAN unit (4) isconfigured to have one or more logical volumes. Each volume, in oneembodiment, is further partitioned into several portions, as shown inFIG. 5. The IP SAN unit (4) further contains block data services andother service software modules (6). The service software module (6) isconfigured to communicate with distribute control management station (3)for providing storage information and for performing storage operations.The service software modules (6), in another embodiment, are furtherconfigured to communicate with service software modules (9) of hosts (1)for providing block data services for the host (1). The service softwaremodules (6) can be implemented by any suitable programming languagessuch as C, C++, Java, etc and they may employ any suitable IP basedcommunication protocols for data transfer.

In one embodiment, the control management station (3) and organizes IPSAN units (4) to form the virtual storage pool (11). The virtual storagepool (11) may contain information relating to IP addresses, the storagevolumes of the block data, their addresses and sizes of each IP SAN unit(4). A spare IP SAN unit (13) represents a part of recovery scheme usedin the central controlled distributed scalable virtual machineenvironment.

Fibre channel to IP gateway (5) is a component that is configured toprovide translation between Fibre Channel based protocol and IP basedprotocol so that Fibre Channel based SAN unit will appear as if IP basedSAN unit to the rest of the world (FIG. 1).

Fibre channel SAN unit is similar to an IP SAN unit (4) except it usesFibre Channel storage control, which uses Fibre Channel protocol tocommunicate with other parties over the network. In addition, FibreChannel SAN unit appears as an IP based SAN unit to the distributedvirtual SAN once it connects to a Fibre Channel to IP gateway (5 of FIG.2). Therefore, to simplify the foregoing discussion, a fibre channel SANunit will be treated similarly as an IP SAN unit in all of followingdiscussion without additional comments.

The management console on console host (14), which has been described inpending patent of “Concurrent Web Based Multi-Task Support for ControlManagement System” by the same author. The management console could be acommercially available web browser or a proprietary Web browser. A webbrowser is able to communicate with web server software (15) on controlmanagement station (3) through a web protocol such as HTTP. The Webbrowser could be implemented by any suitable programming languages suchas C, C++, Java, XML, etc. In addition, the management console softwaremodule (10) could be a networked software module and/or web browsersoftware. In this case, any other suitable network protocols can be usedinstead of using web protocol such as HTTP.

To simplify the foregoing discussion, the communication path betweenmanagement console (10) on console host (14) and the console supportsoftware modules (8) on control management station (3) will not furthermention the role or function of web server software module (15) in thisinvention.

From management console (10), multiple concurrent system operations andtasks can be performed for the entire distributed virtual SANinfrastructure. There are may be one or more management consoles ofdistributed virtual SAN infrastructure anywhere on the net.

FIG. 2 illustrates a portion of FIG. 1 relating to an actual virtualSAN. The multiple SAN units form a virtual Storage pool (11). Thevirtual storage pool (11) may contain information of each IP SAN unit'sIP address, the storage volumes and their sizes, etc.

FIG. 3 shows a protocol of virtual SAN automatic configuration andbuilding as well as shutting down a virtual SAN. The packet format usedwith this protocol is described in FIG. 4.

FIG. 4 shows the message format, which is used by “Virtual SAN AutomaticConfiguration Protocol” for sending and receiving a packet.

FIG. 5 illustrates a storage layout in an IP SAN unit, wherein thestorage layout may be further divided into multiple volumes and eachvolume may be further divided into multiple partitions. Each volumerefers to a logical storage unit in this discussion and it might containmultiple pieces of storage space from multiple storage hardware media.

FIG. 6 is a simplified and a portion of FIG. 1, which shows ahypothetical example of how hosts are configured to access the StorageVolume of IP SAN units. Where each IP SAN unit is a portion of virtualstorage pool (11 of FIG. 2) and each host is substantially the same aspresented in FIG. 1.

FIG. 8 is a block diagram illustrating an In-Band Accessed Virtual SAN.FIG. 8 shows another type of virtual SAN, wherein, the actual storagedata path from hosts to IP SAN units has to go through controlmanagement station.

FIG. 9 is a Simplified Diagram of Central Controlled DistributedScalable Virtual Machine. With this invention, the systems in a CCDSVMcan be flexibly organized into multiple different service poolsaccording to their functionalities. For example, multiple IP SAN unitscan form a virtual SAN storage pool. The hosts of CCDSVM could formother service pools to provide services other than storage services suchas video services, security monitor services, and all other servicesprovided on Web (or net).

FIG. 10 is a Simplified Diagram of Disaster Recovery Scheme ofDistributed Virtual SAN Infrastructure, which includes one virtualstorage pool of multiple IP SAN units and one service pool of multiplehosts. For example, host 1 accesses IP SAN units 1 and 2 while host 3accesses IP SAN units 4 and 5. Also, IP SAN unit 1 and 2 are mirrored sothat they have kept the same copy of data for host 1. The same to betrue for IP SAN unit 4 and 5 with host 3. In addition, IP SAN unit 3 maybe a spare unit and the host 2 could be a spare host.

FIG. 1 shows a simplified diagram of a distributed virtual SANinfrastructure according to the present invention. With the distributedvirtual SAN infrastructure, the distributed virtual SAN storage pool(11) comprises one or more SAN units (4), which may be further connectedto a distribute control management station (3). The SAN units (4) can beaccessed by one or more hosts (1) via network infrastructure (2). Theentire distributed virtual SAN infrastructure can be operated throughmanagement console (10).

The virtual storage volume pool (1) of the distributed virtual SANinfrastructure (FIG. 1) can be initiated and updated when each of the IPSAN units (4) is booted and brought to online. The virtual storagevolume pool (11), in one embodiment, is updated when at least one of IPSAN unit is powered down or removed from the web environment. FIG. 3shows the distributed Virtual SAN Automatic Configuration Protocol,which leads to the success of constructing the virtual storage pool (1)of distributed virtual SAN infrastructure (FIG. 1) according to thisinvention. The following steps have described the automatic buildingsequence of storage volume pool of the virtual SAN based on thisprotocol (FIG. 3). The protocol described bellow could be IP basedprotocol such as SNMP, or a much simple UDP protocol (FIG. 4), or anyother suitable protocols.

When any of IP SAN unit (4) such as unit (n) brought up online, SANservice modules (6 of FIG. 2) of the IP SAN unit (4) sends out a “SANunit (n) startup” packet, as illustrated in FIG. 4, to distributecontrol management station (3 of FIG. 1). The “SAN unit (n) startup”packet could be a simple user defined UDP packet (FIG. 4) indicating asystem just being powered up. The message carried by the packet couldalso be a SNMP trap of cold start packet, or link-up packet (4 ofFIG. 1) or other short packet/message of any suitable IP protocols.

When distribute control management modules (7 of FIG. 1) of distributecontrol management station (3 of FIG. 1) receives IP SAN unit (n)'smessage, it stores the IP SAN unit (n)'s information.

After storing information of the IP SAN unit, the control managementmodules (7 of FIG. 1) on distribute control management station (3 ofFIG. 1) sends back a “need SAN unit (n)'s storage info” packet to IP SANunit (n) (4 of FIG. 1).

When SAN service modules (6 of FIG. 1) on. IP SAN unit (n) (4 of FIG. 1)receive the packet of “need SAN unit (n)'s storage info”, they obtainthe storage information on the IP SAN unit (n) (4 of FIG. 1), which mayinclude the number of storage volumes, each volume's starting address(logical block address, LBA), length, and the end address (logical blockaddress, LBA). The SAN service modules (6 of FIG. 1) then send back apacket of “unit (n) storage info”, which may include all informationobtained from the control management station (3 of FIG. 1).

After receiving the “unit (n) storage info” packet from IP SAN unit (n)(4 of FIG. 1), the distribute control management modules (7 of FIG. 1)on distribute control management station (3 of FIG. 1) update the storedinformation of virtual storage pool (11 of FIG. 1) with correspondingstorage information of IP SAN unit (n) from packet.

When any one of IP SAN unit (n) is shutting down, the service module (6of FIG. 1) of the IP SAN unit (n) (4 of FIG. 1) sends a “Unit (n)shutdown” message to the distribute control management station (3 ofFIG. 1). This shutdown message could be an SNMP trap of link down, or asimple UDP packet (FIG. 4) with message type of system down, or othershort packet based on some other protocols.

After receipt of the “unit (n) shutdown” packet from IP SAN unit (n) (4of FIG. 1), the distribute control management modules (7 of FIG. 1) ondistribute control management station (3 of FIG. 1) update informationof the virtual storage pool (11 of FIG. 1), which is specific to the IPSAN unit (n) (4 of FIG. 1).

After one or more IP SAN units (4 of FIG. 1) are online, the controlmanagement station (3 of FIG. 1) obtains and/or stores informationrelating to storage volumes and networking protocols for every IP SANunit (4 of FIG. 1) in the virtual storage pool (11 of FIG. 1).Therefore, the control management station (3 of FIG. 1) is able todistributed storage volumes to hosts (1 of FIG. 1) in several steps.

First, the host 1 (1 of FIG. 1) sends a request to control managementstation (3 of FIG. 1) requesting a storage space, such as 80 GB(gigabyte) of storage. Second, the control management station (3 ofFIG. 1) stores host 1 information and searches for availability of 80 GBof storage volume. The control management station (3), for example,finds an 80 GB available storage volume in volume 2 of the IP SAN unit M(FIG. 6). Third, the control management station (3 of FIG. 1) sends therequested information of host 1 to IP SAN unit M (FIG. 6), wherein therequested information includes the IP address of host 1 and therequested storage size. The control management station (3 of FIG. 1)also sends the storage volume information relating to the IP SAN unit Mto host 1 (1 of FIG. 1), wherein the storage volume information includesthe IP address of IP SAN unit M, the volume number and the size, thevolume's starting address, and volume's ending logical address block(LBA). Therefore, all parties of three, namely the control managementstation (3) and host 1 and the IP SAN unit M, keep the same storagevolume assignment information. Fourth, once the host 1 (1 of FIG. 1) andIP SAN unit M (FIG. 6) get each other's information, the host (1 ofFIG. 1) can directly and independently access the volume 2 on IP SANunit M immediately and the IP SAN unit M, in one embodiment, is furtherconfigured to perform security checking in light of storage accessing.

Alternatively, the above described steps may also be semi-automaticallysetup with assisting of system operations performed by the managementconsole (10 of FIG. 1). For example, an administrator could initiallysetup volume 2 of IP SAN unit M (FIG. 6) to be exclusively accessed byhost 1 (1 of FIG. 1) as long as the administrator acknowledges that host1 needs such size of storage volume. The administrator can also setupthe host 1 with all information needed to access volume 2 of IP SAN unitM (FIG. 6). Finally, the host 1 (1 of FIG. 1) can access volume 2 of IPSAN unit M (FIG. 6) directly without going through the controlmanagement station (3 of FIG. 1).

The present invention also discloses a mechanism of dynamicallyexpanding storage capacity. After the distributed virtual SAN storagepool (11 of FIG. 1) is initiated, the host (1 of FIG. 1) will be able toaccess the volume of an IP SAN unit (4 of FIG. 1) in the pool (11 ofFIG. 1) directly without further involvement of the control managementstation (3 of FIG. 1). This will allow the storage pool (11 of FIG. 1)of this distributed virtual SAN infrastructure (FIG. 1) to continueexpanding without affecting any hosts (1 of FIG. 1) tocontinue-accessing the storage volumes on assigned IP SAN units (4 ofFIG. 1) in the pool. As a result, this guarantees that the distributedvirtual SAN storage pool (11 of FIG. 2) can be dynamically expandedwithout interrupting any normal storage operations and accessing ofentire distributed virtual SAN storage pool (11 of FIG. 2).

The present invention further discloses a technique of systemscalability. Once the distributed virtual SAN storage pool (11 ofFIG. 1) is constructed, each host (1 of FIG. 1) can access one or moreIP SAN units (4 of FIG. 1) in the storage pool (11 of FIG. 1) of thedistributed virtual SAN infrastructure (FIG. 1) whenever it requests.For example, host 1 (FIG. 6) can access IP SAN unit 1, unit 2, and unitM (FIG. 6) after the host (I) requests an access to the IP SAN units andsubsequently, the control management station (3 of FIG. 1) grants therequest. This effectively provides scalable storage system for eachhosts (1 of FIG. 1) within distributed virtual SAN infrastructure(FIG. 1) of this invention. Further, the distributed virtual SANinfrastructure (FIG. 1) provides far better scalability than the in-bandaccessed virtual SAN (FIG. 8), wherein the scalability of in-bandaccessed virtual SAN were severely limited by the bottlenecked controlmanagement station (FIG. 8).

The present invention also discloses a method of storage sharingmechanism. Once the distributed virtual SAN storage pool (11 of FIG. 1)is constructed, each IP SAN unit (4 of FIG. 1) in the pool ofdistributed virtual SAN infrastructure (FIG. 1) may hold multiplestorage volumes in the form of block data, which can be accessed by oneor more hosts (1 of FIG. 1). Therefore, it allows multiple hosts (1 ofFIG. 1) to share an IP SAN unit (4 of FIG. 1) by granting and assigningeach host to exclusively access particular volumes on that IP SAN unit(4 of FIG. 1). The FIG. 6 demonstrates such a storage sharing, whereinIP SAN unit (2 of FIG. 6) has three volumes, which named volume 1,volume 2, and volume 3. The block data service modules (6 of FIG. 1) onIP SAN unit (2 of FIG. 6) allows volume 1 to be accessed exclusively byhost 1 while volume 2 to be accessed exclusively by with host 2.

With in-band accessed virtual SAN (FIG. 8), the control managementstation could be a performance bottleneck. With distributed virtual SANof this invention, each host (1 of FIG. 1) can directly andindependently access any IP SAN unit (4 of FIG. 1). Therefore, theperformance of storage accessing for each host will not be affected andcan match the performance of direct attached storage system (FIG. 7)when the high speed network connecting media is deployed in thedistributed virtual SAN infrastructure (FIG. 1).

The present invention also illustrates a method of a centralizedmanagement of distributed virtual SAN. The storage management console ona console host (10 of FIG. 1) can communicate with console supportsoftware module (8 of FIG. 1) on a control management station (3 of FIG.1). The storage management console is configured to further receiveinformation relating to all IP SAN units (4) from control managementmodules (7 of FIG. 1) of control management station (3 of FIG. 1).Therefore, it provides centralized management functionality for entiredistributed virtual SAN storage pool (11 of FIG. 1), hosts (1 of FIG.1), and the control management station itself (3 of FIG. 1). Withmultiple concurrent tasks controlled by the console support softwaremodule (8 of FIG. 1) of control management station (3 of FIG. 1), thestorage management support console (10 of FIG. 1) can provide a fullrange of system operations and tasks. In addition, multiple system tasksand operations can be run concurrently throughout the entire distributedvirtual SAN and hosts. These management tasks include storageconfiguration, storage volume allocation and assignment, storagepartitioning and repartitioning, storage, network, and other resourceusage and activity monitoring.

In one embodiment, the present invention discloses a process of disasterrecovery capabilities. The use of DNS or an IP address identificationmechanism helps this distributed virtual SAN infrastructure to overcomethe geometric (region) limitation, and works well in a cross networkdomain environment or in a single network domain environment. Therefore,any IP SAN unit or host as well as a control management station could beanywhere on the corporate Intranet, department LAN, or Internet. As aresult, the present invention can be used for an emergency or a disasterrecovery plan because the distributed virtual SAN infrastructureincreases logical range by 100 miles as oppose to the traditional10-kilometer limitation.

In addition, the disaster recovery plan of distributed virtual SANinfrastructure can be flexibly implemented as showing in FIG. 10. Withthis recovery plan, the host 1 or 3 (I of FIG. 10) can continue tooperate even if one of its mirrored IP SAN units failed (3 of FIG. 10).Also, the spare IP SAN unit can be used to quickly replace the failed IPSAN unit whenever there is a need. On the other hand, the hosts (1 ofFIG. 10) also can be organized into a service pool for providing specialservices, such as distributing video services, distributed databasepool, distributed security monitor services, and all other servicesprovided on the net or the Web. Therefore, whenever host 1 or 3 failed,the spare host can quickly take over their assigned IP SAN storage andreplace them to continue providing services to the end user.

It should be noted that the storage of any IP SAN unit can be shared andaccessed by multiple hosts. To scale a virtual storage, a host may beassigned to access multiple volumes of storage capacities from multipleIP SAN units. In one embodiment, the storage accessing goes directlythrough communication link between hosts and SAN units, which means thatit is an out-band access. An advantage of using the present invention isthat it has better performance and scalability than that in-bandaccessed virtual SAN. Furthermore, the present invention allows thevirtual storage pool to expand dynamically through adding more IP SANunits into the pool without interrupting systems operation.

The implementation of web-based multi-concurrent tasks allows entiredistributed virtual SAN infrastructure to be managed and monitored froma centralized console. Also, the IP based distributed virtual SANinfrastructure is a new type of central controlled distributed scalablevirtual machine (CCDSVM). The software modules used in IP baseddistributed virtual SAN infrastructure are web based operating systemmodels. Furthermore, the methods and principles of the IP baseddistributed virtual SAN storage pool, which may automatic build anddeliver storage services to the end users or clients on-demand bases.The present invention can also apply to various data distributionservices within the CCDSVM infrastructure.

1. A method of a web-based system for distributing tasks comprising:coupling a distributed control management station to a communicationsnetwork; obtaining status information from a plurality of internetprotocol (“IP”) storage area network (“SAN”) units via saidcommunication network; storing said status information and a pluralityof IP addresses associated to said plurality of IP SAN units in a memoryin said distributed control management station; establishing a virtualSAN storage pool in response to said status information including aspare IP SAN unit; updating said virtual SAN storage pool in response toupdating status from said plurality of IP SAN units over saidcommunications network; receiving a first service request from a firsthost via said communication network; and distributing said first servicerequest to a first IP SAN unit in response to said virtual SAN storagepool.
 2. The method of claim 1, wherein said coupling a distributedcontrol management station to a communications network further includes:connecting a server to the Internet; and assigning said server to managedistribution of various service requests from multiple end users to saidplurality of said IP SAN units substantially simultaneously.
 3. Themethod of claim 1, wherein said obtaining status information from aplurality of IP SAN units further includes: identifying availablestorage space associated to each IP SAN unit; and determiningpartitioned volume of storage space for sharing with multiple hosts. 4.The method of claim 1, wherein said establishing a virtual SAN storagepool in response to said status information further includes: listing aplurality of servers capable of performing storage area network forproviding multiple concurrent service requests; and identifyingavailable storage capacity with each of said plurality of servers thatcan be employed for said service request.
 5. The method of claim 1,wherein said updating said virtual SAN storage pool in response toupdating status from said plurality of IP SAN units further includesupdating said virtual SAN storage pool in response to disconnecting anactive IP SAN unit from said communications network.
 6. The method ofclaim 1, wherein said updating said virtual SAN storage pool in responseto updating status from said plurality of IP SAN units further includesupdating said virtual SAN storage pool in response to connecting a newIP SAN unit to said communications network.
 7. The method of claim 1,wherein said updating said virtual SAN storage pool in response toupdating status from said plurality of IP SAN units further includesupdating said virtual SAN storage pool in response to changing of statusfor an active IP SAN unit.
 8. The method of claim 1, wherein saidupdating said virtual SAN storage pool in response to updating statusfrom said plurality of IP SAN units further includes updating saidvirtual SAN storage pool in response to activating a spare IP SAN unitwhen all of the IP SAN units are busy.
 9. The method of claim 1, furthercomprising: receiving a second service request from a second host viasaid communications network; and distributing said second servicerequest to a second IP SAN unit in response to said virtual SAN storagepool.
 10. The method of claim 9, wherein said distributing said secondservice request to a second IP SAN unit in response to said virtual SANstorage pool further includes identifying said second IP SAN unit inresponse to storage capacity requirement associated with said secondservice request.
 11. The method of claim 9, wherein said distributingsaid second service request to a second IP SAN unit in response to saidvirtual SAN storage pool further includes identifying said second IP SANunit in response to video performance requirement associated with saidsecond service request.
 12. The method of claim 9, wherein saiddistributing said second service request to a second IP SAN unit inresponse to said virtual SAN storage pool further includes identifyingsaid second IP SAN unit in response to storage partitioning capabilityassociated with said second service request.
 13. The methods of claim 1,further comprising: automatically initiating, forming, and updating avirtual storage pool crossing all networks, and distributing tasks;coupling a distributed control management station to one or moreinternet protocol “IP” storage area network (“SAN”) with via acommunications network; and obtaining status information from aplurality of IP SAN units via said communication network at boot time(start up) of each IP SAN unit through a sequence of combined UDP/TCP/IPprotocols.
 14. The method of claim 1, wherein said updating said virtualSAN storage pool in response to updating status from said plurality ofIP SAN units further includes said virtual SAN storage pool in responseto partition storage devices into one or multiple storage volumes for anactive IP SAN unit via tasks performed by user at web-browser basedconsole system.
 15. The method of claim 1, wherein said sequence ofcombined UDP/TCP/IP protocols for automatically initiating and buildingstorage service pool further includes: a) at each IP SAN units bootingup time, the service software of a IP SAN sending out a “SAN unit (n)startup” packet to distribute control management station, which includesstatus information of IP address, network cards, and system name of SANunit (n); b) upon distribute control management software of controlstation receiving said IP SAN unit (n) packet or it detecting acommunication link being up again after the link being down, it storingthe IP SAN unit (n)'s information into memory, disk or both on controlstation and then sending back a “need SAN unit (n)'s storage info”packet to IP SAN unit (n); c) upon SAN service modules on IP SAN unit(n) receiving the packet of “need SAN unit (n)'s storage info”, itgetting storage information on IP SAN unit (n), and then sending back apacket of “unit (n) storage info”, which includes all information ofstorage device and current associated storage volumes information, todistribute control management station; d) after receiving “unit (n)storage info” packet from IP SAN unit (n), the distribute controlmanagement modules on distribute control management station updating itsstored IP SAN units with corresponding storage information of IP SANunit (n) from packet; and e) the “unit (n) storage info” in packetincluding the number of storage volumes, each volume's start address(logical block address, LBA), volume size, and the end address (logicalblock address, LBA) of each volume, storage media type, IP SAN unit's IPaddresses and its associated network cards information.
 16. The methodof claim 1, wherein a) the said protocol sequence for automaticallyupdating storage pool of distributed virtual SAN when any IP SAN unitshuts down or communication link is down, further includes: (1) wheneverany IP SAN unit (n) shutting down, the service module of IP SAN unit (n)sending “Unit (n) shutdown” to distribute control management station;and (2) after received “unit (n) shutdown” packet from IP SAN unit (n),or detected the communication link being down between said IP SAN andcontrol station, the distribute control management software modules oncontrol station updating the stored information for that specific of IPSAN unit (n) and for the distributed IP SAN virtual storage pool.
 17. Aweb-based system for distributing tasks, comprising: a plurality ofhosts connected to a network infrastructure and capable of receivingservice requests from various end users; a web-based server poollogically coupled to said plurality of hosts and having a plurality ofweb-based servers, wherein said plurality of web-based servers areconfigured to provide storage area network services; a distributedcontrol management station logically coupled to said server pool viasaid network infrastructure, wherein said distributed control managementstation is configured to distribute said service requests to saidplurality of web-based servers over said network infrastructure.
 18. Theweb-based system of claim 17, wherein each of said plurality of hostsincludes service modules, which are capable of communicating with saiddistributed control management station.
 19. The web-based system ofclaim 17, wherein said network infrastructure is an Internet.
 20. Theweb-based system of claim 17, wherein said distributed controlmanagement station further includes management software modules forcommunicating with said web-based server pool.
 21. The web-based systemof claim 17, wherein each of said plurality of web-based serversincludes service modules for communicating with said distributed controlmanagement station.
 22. A web-based system for providing a storage poolto multiple services of multiple hosts, comprising: a plurality of oneor more hosts connected to a network infrastructure to form one ormultiple service pools, wherein each service pool provides a specificservice other than storage service; wherein each said host is capable ofreceiving service requests from various end users and providingcorresponding service to end users; a storage server pool logicallycoupled to said a plurality of hosts and having a plurality of one ormore storage servers, wherein said plurality of storage servers areconfigured to provide storage area network (SAN) services; a distributedcontrol station controls coupled to said storage servers and hosts toautomatically constructing said service pools of said hosts and saidstorage pool of said storage server via said network infrastructure,wherein said distributed control station is configured to distribute SANservice requests of hosts to said plurality of storage servers over saidnetwork infrastructure while each said host providing dedicated serviceto said service request of each user; and one or more management consolesystems configured with web-browser and coupled to said control station,said a plurality of hosts, and said a storage server pool to provideprivileged users to perform web-browser based management tasks.
 23. Theweb-based system of claim 22, wherein said storage pool is initiated andbuilt based on “Virtual SAN automatic configuration protocol”; whereinsaid service pools of hosts are initiated and built based on theprinciple of “Virtual SAN automatic configuration protocol”; and wherein“IP SAN” in said protocol is replaced with said host and said “storageinformation” in said protocol is replaced with information required fora specific service.
 24. The web-based system of claim 22, wherein saidnetwork infrastructure is an Internet, or Intranet, or LAN; and whereinsaid “Virtual SAN automatic configuration protocol” is an IP-basedprotocol.
 25. The web-based system of claim 22, further comprising a webmanagement console on console host communicate with software modules ofcontrol station to obtain information of said storage service pool andsaid service pools of hosts and to allow privileged users to performtasks over storage service pool and said service pools of hosts, whereinsaid tasks initiates concurrently within a same single web-browser. 26.The web-based system of claim 22, wherein said control station providingeach hosts with storage by dynamically distributing storage servicerequests of each hosts to identified storage server in storage pool;wherein said each storage server in storage pool directly providingstorage service to assigned hosts in said service pools of hosts withoutinterrupt normal operation of rest of storage servers and hosts, andwithout further involvement of control station; and wherein said eachhost in a service pool providing said dedicated service to end usersother than storage service.
 27. A method of creating a web-browser basedcomputer user work (or operating) environment (“WCUWE”) for a centralcontrolled distributed scalable virtual machine (“CCDSMV”) comprising:at least one or more systems connected together through network medium,which can be accessed by console host on said network and controlled,operated, and managed by at least a control station in said one or moresystems coupled with a set of software modules running on either controlstation or on system units in said one or more systems and on one ormultiple console hosts, which also connected to said network, whereinsaid set of software modules includes web server software, consolesupport software, service software and conventional web-browser, whichwork together for user security authentication management, multi-taskssupport management, network management, storage management, system &device configuration and monitoring management, file system management,data transfer & communication management, wherein said set of softwaremodules provide one or multiple users to concurrently login controlstation each from a web-browser of either control station or consolehost anywhere on the network and further allow each said user each froma single web-browser to perform multiple simultaneous concurrent taskseither over control station or over said server units on cross-domainnetworks, wherein said tasks are compatible with those tasks can beperformed on regular native window based or command line based computeruser work environment;
 28. The method of claim 27, wherein said set ofsoftware modules forms the said WCUWE for one or multiple systems onsaid network, and wherein said WCUWE provides users an unified method toaccess and operate control station and system units from a conventionalweb-browser, which is either local to control station or local toconsole hosts anywhere on said network.
 29. The method of claim 27,wherein said WCUWE is designed with dual model architect for either asingle system if only a control station exist and without any systemunits in said CCDSVM on said network or for a CCDSVM with multiplesystems if at least a control station together with one or more systemunits exist in said one or more system on said network.
 30. The methodof claim 27, wherein said network media forms communication link betweencontrol station, console hosts, and system units, and wherein saidcommunication link could be the infrastructure of Internet, Intranet, orLAN with connection media of various cables, wireless media, or systembus and with equipment of switches, routers, and adapter cards.
 31. Themethod of claim 27, wherein said control station, console host, andsystem unit can be any type server, desktop or laptop system, handhelddevice such as PDA, or cell phone; wherein said control station, consolehost, and system unit all equipped with respective CPU, memory,secondary storage, network cards, and other system components; andwherein said control station together with one or multiple system unitsforms a central controlled scalable virtual machine (“CCDSVM”).
 32. Themethod of claim 27, wherein said control system has web-server softwareand console support software, which further include web server interfacesoftware, control management software modules, service software modules,and a conventional native web-browser; wherein said system unit haveservice software modules; and wherein said console host has conventionalweb-browser software and other-software-module for various purpose. 33.The method of claim 27, wherein said console support software of controlstation communicate with service software either on system units or oncontrol station itself through IP-based or non-IP based protocol orthrough inter-process communication to obtain resource information,wherein said resource information includes storage, network, filesystem, folder, files, system configuration or status, and without limitfrom system units via said network or from control station wheneverthere is needs; and wherein said console support software of controlstation also communicate with said web-browser either on console host oron control station itself to present said obtained resource informationto said web browser for user to possibly perform simultaneous concurrenttasks of network management, storage management, system & deviceconfiguration and monitoring management, file system management, datatransfer & communication management, and authentication management. 34.The method of claim 27, wherein said console support software of controlstation provides user login web-page to said web-browser either oncontrol station or on console hosts and further provides authenticationvalidation after user perform login; and wherein said console supportsoftware also provides authentication management to decide which userfrom where can perform what tasks on which system in said CCDSVM andfurther present and display related said resource information into saidweb-browser of said user.
 35. The method of claim 34, further including:after user initiated and transmitted a task together with selectedresources from said web-browser to console support software of controlstation, the said console support software manages the task by creatinga thread to serve the task; created thread acquires associated lock andplaces task into a valid slot of a user space task-list and determine ifthe task to be executed on control system or on system unit; and if taskneed to be executed on control system, the created thread also need todetermine if there is need to create another thread to execute said taskand further the task will be executed accordingly.